package programDetails;
/*
1. i++和++i的区别
 */
public class _1_1_Comparei {
    public static void main(String[] args) {
        int i=5,j=5;
        int a=i++;
        int b=++j;
        System.out.println("a="+a+",b="+b);
        int n=5,m=5;
        int s1=(++n)+(++n);
        int s2=(m++)+(m++);
        System.out.println("s1="+s1+",s2="+s2);
    }
}
/*
++ i 是先加后赋值；i ++ 是先赋值后加
区别：
    a.赋值顺序
    形象的理解可以是i++先做别的事，再自己加1，++i先自己加1，再做别的事情。
    b.效率不同
    比如i=3，b=i++就是说b=3,完成之后让i变成4，b=++i就是先让i++变成4，然后b=4，其中++i比i++效率要高些。一般来说在循环域里面，这两者并没有什么很大的区别，但是要注意其生存周期，以及i值在程序流中的变化
    c.i++不能作为左值，而++i可以
    举例
    i=5时，
    s=(++i)+(++i)=6+7=13
    s=(i++)+(i++)=5+6=11
 */